// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Widgets/Views/STableRow.h"
#include "HotPakerType.h"


class SPakAssetsView;
/**
 * 
 */
class SPakAssetRow : public SMultiColumnTableRow<FAssetDetailNode_Ref>
{
public:
	SLATE_BEGIN_ARGS(SPakAssetRow)
	{}
	SLATE_ARGUMENT(TSharedPtr<STableViewBase>, OwnerTableView)
	SLATE_ARGUMENT(TSharedPtr<FAssetDetailNode>, AssetDetailNode)
	SLATE_END_ARGS()

	/** Constructs this widget with InArgs */
	void Construct(const FArguments& InArgs, SPakAssetsView* InPakAssetsView);

	virtual TSharedRef<SWidget> GenerateWidgetForColumn(const FName& ColumnName) override;

protected:

	// Callback for changing the checked state of the check box.
	void HandleCheckBoxCheckStateChanged(ECheckBoxState NewState);

	// Callback for determining the checked state of the check box.
	ECheckBoxState HandleCheckBoxIsChecked() const;

protected:

	TSharedPtr<FAssetDetailNode> AssetDetailNode;

	FName AssetName;

	SPakAssetsView* PakAssetsView;

	static const FName Col_AssetName;

	static const FName Col_GuidName;

	static const FName Col_ChunkName;
};
